import 'babel-polyfill';
import Vue from 'vue'
import App from './App'
// 公共CSS
import './assets/css/reset.css'
// axios
import axios from "axios"
import VueAxios from 'vue-axios'
Vue.use(VueAxios, axios);
// js-cookie
import Cookie from 'js-cookie'
//qs 参数转换
import qs from 'qs'
// 绑定Cookie到Vue
Vue.prototype.Cookie = Cookie;
// 路由表
import router from "./router"
// vuex 状态
import store from './store'
// 引入公共方法
import common from './common/common';
Vue.prototype.common = common;
// 修改 Dialog 默认遮罩层无法点击关闭
ELEMENT.Dialog.props.closeOnClickModal.default = false;
// axios 请求前处理
axios.interceptors.request.use(function (config) {
  // 添加请求ajax 标识(为了后台thinkphp 能识别为ajax)
  config.headers['X-Requested-With'] = 'XMLHttpRequest';
  // 参数为对象时,进行转换
  if (config.data) {
    config.data = qs.stringify(config.data);
  }
  return config;
})
// 空提示组件
import empty from '@/components/other/empty.vue'
Vue.component('empty', empty);

Vue.config.productionTip = false
// 登录验证 - 路由发生变化修改页面标题
// 引入路由拦截
import intercept from './routerBefore';
router.beforeEach((to, from, next) => {
  // 路由拦截
  intercept(to, from, next);
})

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
